package com.study.goal.domain.bo;

import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.sql.Time;
import java.util.Date;

@Data
public class PlanBo {
    /**
     * 计划ID
     */
    @TableId
    private Long id;

    /**
     * 计划唯一编码 UUID
     */
    private String planCode;

    /**
     * 关联目标ID
     */
    private Long goalId;

    /**
     * 计划标题
     */
    private String title;

    /**
     * 计划描述
     */
    private String description;

    /**
     * 状态 PENDING / IN_PROGRESS / COMPLETED / CANCELLED
     */
    private String status;

    /**
     * 执行频率（每天、每周、自定义）
     * <p>
     * 1. 每日计划
     * 2. 每周计划
     * 3. 自定义计划
     * 4. 临时计划
     */
    private String frequency;

    /**
     * 执行时间（如每天晚上8点）
     */
    private Time executeTime;

    /**
     * 计划开始日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /**
     * 计划结束日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

}
